package com.example.movie.mate.pojo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.time.LocalDate;
import java.math.BigDecimal;

/**
 * 订单实体类
 */
@Data
@TableName("booking")
public class Booking implements Serializable {

    /**
     * 订单ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 放映计划ID
     */
    private Long playScheduleId;

    /**
     * 电影ID（冗余字段）
     */
    private Long movieId;

    /**
     * 影厅ID（冗余字段）
     */
    private Long hallId;

    /**
     * 电影名称（冗余字段）
     */
    private String movieName;

    /**
     * 影厅名称（冗余字段）
     */
    private String hallName;

    /**
     * 放映开始时间（冗余字段）
     */
    private LocalDateTime startTime;

    /**
     * 放映结束时间（冗余字段）
     */
    private LocalDateTime endTime;

    /**
     * 订单总价
     */
    private BigDecimal totalPrice;

    /**
     * 下单时间
     */
    private LocalDateTime bookingTime;

    /**
     * 订单状态（0：未支付，1：已支付）
     */
    private Integer status;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 最后修改时间
     */
    private LocalDateTime updateTime;

    public interface Status {
        int UNPAID = 0;
        int PAID = 1;
    }

}